#!/usr/bin/env python3
# -*- coding: utf-8 -*-
print('#############dict类型（类似于Map类型）#############')
d = {"mike": 99, "tina": 34, "tom": '护发链接'}
print(d)
d = dict(mike=99, tina=34, tom="this is Tom")
print(d)
d['jack'] = "hello Jack"
print(d)
d.setdefault('jack', 'jack not exist')
print(d)
d.pop('jack')
d.setdefault('jack', 'jack not exist')
print(d)
print(d.get('tom', "存在"))
print(d.get('tom1'))
print(d.get('tom1', "不存在"))
print(d['tom'])
print('tom1' in d)
print('#############合并两个dict，update()方法，存在相同的key，覆盖#############')
new_d = dict(jack='newJack', selina='selina')
d.update(new_d)
print(d)
print('#############删除一个元素，pop()方法#############')
print(d)
d.pop('tina')
print(d)
print('#############批量赋值#############')
names = ['selina', 'bob', 'jack', 'tina']
name_dict = dict.fromkeys(names, "default_name")
print(name_dict)
# set类型
# 1、不能存 unhashable type，例如：list、dict等类型
# 2、里面的元素不能重复
# 3、里面的元素是无序的，例如：{1,3,2}和{3,2,1}是相同的
print('#############set类型，只有key，没有value#############')
set_type = {'poi', 'apple', 'banana', 2, 'apple', 2}
print(set_type)
print(len(set_type), type(set_type))
print('{1,3,2}和{3,2,1}:', {1, 3, 2} == {3, 2, 1})
print('#############set类型，添加元素用add()方法#############')
set_type.add("poi")
set_type.add("apple")
set_type.add(3)
print(set_type)
print('#############set类型，删除元素用remove()方法#############')
set_type.remove("apple")
print(set_type)
print('#############将list放入set中，报错#############')
classmates1 = ['apple', 'banana', 'cursor', 'depth']
classmates2 = ['同学1', '同学2', '同学3', '同学4']
# s1=set([classmates1,classmates2])
# print(s)
print('#############set操作，交集#############')
set_1 = {1, 2, 3, 4, 5}
set_2 = {3, 4, 5, 6, 7}
print(set_1.intersection(set_2))
print(set_1 & set_2)
print('#############set操作，并集#############')
print(set_1.union(set_2))
print(set_1 | set_2)
print('#############set操作，差集#############')
print(set_1.difference(set_2))
print(set_1 - set_2)
print('#############set操作，子集，父集#############')
print(set_1.issubset(set_2))
print(set_1.issuperset(set_2))
print('#############再议不可变对象#############')
str = 'abcdefa'
print(str)
print(str.replace('a', 'A'))
print(str)
